package api

import (
	"github.com/gin-gonic/gin"
	"github.com/go-starter/controllers"
	"github.com/go-starter/middleware"
)

// RegisterRoutes 注册所有API路由
func RegisterRoutes(r *gin.Engine) {
	// API路由组，所有API都以/api开头
	api := r.Group("/api")
	
	// 使用中间件
	api.Use(middleware.Logger())
	
	// 用户相关路由
	userGroup := api.Group("/users")
	{
		userController := controllers.NewUserController()
		userGroup.GET("", userController.GetUsers)       // 获取用户列表
		userGroup.GET("/:id", userController.GetUser)    // 获取单个用户
		userGroup.POST("", userController.CreateUser)    // 创建用户
		userGroup.PUT("/:id", userController.UpdateUser) // 更新用户
		userGroup.DELETE("/:id", userController.DeleteUser) // 删除用户
	}
	
	// 商品相关路由
	productGroup := api.Group("/products")
	{
		productController := controllers.NewProductController()
		productGroup.GET("", productController.GetProducts)       // 获取商品列表
		productGroup.GET("/:id", productController.GetProduct)    // 获取单个商品
		productGroup.POST("", productController.CreateProduct)    // 创建商品
		productGroup.PUT("/:id", productController.UpdateProduct) // 更新商品
		productGroup.DELETE("/:id", productController.DeleteProduct) // 删除商品
	}
}